<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
echo $this->Javascript->link('/js/OpenLayers/OpenLayers.js');
echo $this->Javascript->link('/js/OpenLayers/lib/OpenLayers/Lang/es.js');
echo $this->Javascript->link('/js/OpenLayers/lib/OpenLayers/Control/ScaleBar.js');
echo $this->Html->css('/js/OpenLayers/theme/default/style');
echo $this->Html->css('/js/OpenLayers/theme/default/scalebar-fat');
echo $this->Html->css('/js/OpenLayers/theme/default/controls');
?>
<style type="text/css">
    #div_layerswitcher {
        width: 100%;
        height: 120px;
        font-family: sans-serif;
        font-weight: bold;
        margin: 10px;
        font-size: large;
        color: black;
        background-color: transparent;
    }
    #div_overviewmap {


    }
    #map {
        width: 100%;
        height: 515px;
        border: solid 2px #808080;
    }

</style>
<html>
    <head>
        <script type="text/javascript">

            //maxExtent: new OpenLayers.Bounds(-75.5000, -56.2000, -58.5000, -19.4000),
            // Definimos las variables globales
            var mapa, zb, panel, capaPunto, capaLinea, capaPoligono, nav, escala
            var cambiocapas, layer1, layer2, layer3, layer4, layer5, layer6, layer7
            var layer_tipos_obras, layer_estados, layer_tipologias, layer_ubicacion, layer_zonas, layer_rutas, layer_obstaculos, layer_materiales
            var mapaopciones = {
                controls: [],
                maxExtent: new OpenLayers.Bounds(-80.0000, -60.2000, -45.0000, -19.4000),
                maxResolution: 'auto',
                units: "m",
                projection: "EPSG:22185"

            }

            // Definimos una función que arranque al cargar la página
            //            window.onload = function() {
            //
            //            }

            $(document).ready(function() {
                $("#accordion").accordion();
                init()
                capas()
            });

            function init(){

                OpenLayers.Lang.setCode("es");

                mapa = new OpenLayers.Map('map', mapaopciones);

                //mapa.addControl(new OpenLayers.Control.Attribution());
                mapa.addControl(new OpenLayers.Control.Navigation());
                ////Dibuja unos botones dentro del visor para desplazar el mapa
                mapa.addControl(new OpenLayers.Control.OverviewMap({maximized:false}));
                //Dibuja unos botones dentro del visor para desplazar el mapa
                //mapa.addControl(new OpenLayers.Control.Permalink());
                zb = new OpenLayers.Control.ZoomBox();
                panel = new OpenLayers.Control.Panel({defaultControl: zb});

                capaPunto = new OpenLayers.Layer.Vector("Capa Puntos", {displayInLayerSwitcher:false});
                capaLinea = new OpenLayers.Layer.Vector("Capa Linea", {displayInLayerSwitcher:false});
                capaPoligono = new OpenLayers.Layer.Vector("Capa Poligono", {displayInLayerSwitcher:false});

                //capaNuevaObra = new OpenLayers.Layer.Vector("Nueva Obra",{displayInLayerSwitcher:false});

                mapa.addLayers([capaPunto,capaLinea,capaPoligono]);

                panel.addControls([
                    //manito
                    new OpenLayers.Control.MouseDefaults(),
                    zb,
                    new OpenLayers.Control.DrawFeature(capaPunto, OpenLayers.Handler.Point, {displayClass:"punto"}),
                    new OpenLayers.Control.DrawFeature(capaLinea, OpenLayers.Handler.Path, {displayClass:"linea"}),
                    new OpenLayers.Control.DrawFeature(capaPoligono, OpenLayers.Handler.Polygon, {displayClass:"poligono"}),
                    new OpenLayers.Control.ZoomToMaxExtent()
                ]);

                nav = new OpenLayers.Control.NavigationHistory();
                mapa.addControl(nav);
                panel.addControls([nav.next, nav.previous]);
                mapa.addControl(panel);

                //Permite hacer zoom mediante las teclas '+' y '-' y mover el mapa con las teclas de flecha
                mapa.addControl(new OpenLayers.Control.KeyboardDefaults());
                //Indica la posición del cursor en el mapa.
                mapa.addControl(new OpenLayers.Control.MousePosition());
                mapa.addControl(new OpenLayers.Control.Scale());

                //Dibuja unos botones dentro del visor para desplazar el mapa
                //mapa.addControl(new OpenLayers.Control.PanPanel());

                //permite ver la leyenda del mapa, mostrando las capas disponibles y permitendo elegir las que se desean visualizar.
                //mapa.addControl(new OpenLayers.Control.LayerSwitcher());

                //Dibuja una barra de zoom que permite acercar y alejar el mapa
                mapa.addControl(new OpenLayers.Control.PanZoomBar());
                escala = new OpenLayers.Control.ScaleBar({
                    // div: document.getElementById("scalebar"),
                    minWidth: 75,
                    maxWidth: 175
                });

                mapa.addControl(escala);
                //mapa.setCenter(new OpenLayers.LonLat(lon, lat), zoom);

            }

            function capas() {

                cambiocapas = new OpenLayers.Control.LayerSwitcher({'div':OpenLayers.Util.getElement('div_layerswitcher'), roundedCorner: true, roundedCornerColor:'darkblue'});

                mapa.addControl(cambiocapas);

                layer1 = new OpenLayers.Layer.WMS("Argentina",
                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/argentina.map",{layers: "argentina", format:"image/png"},
                {isBaseLayer:true, visibility:true, displayInLayerSwitcher:false, opacity:0.5});

                mapa.addLayer(layer1);

                layer2 = new OpenLayers.Layer.WMS("Santa Fe",
                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/mapasantafe.map",{layers: "santafe", format:"image/png", transparent: "TRUE"},
                {isBaseLayer:false, visibility:true, singleTile:true});

                mapa.addLayer(layer2);

                layer3 = new OpenLayers.Layer.WMS("Localidades Santa Fe",
                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/localidadesstafe.map",{layers: "localidadesstafe", format:"image/png", transparent: "TRUE"},
                {isBaseLayer:false, visibility:false});

                mapa.addLayer(layer3);

                /*layer4 = new OpenLayers.Layer.WMS("OA Santa Fe",
                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/puentestafe.map",{layers: "0", format:"image/png", transparent: "TRUE"},
                {isBaseLayer:false, visibility:true,opacity:0.5});

                mapa.addLayer(layer4);*/

                /*  layer5 = new OpenLayers.Layer.WMS("Ríos Argentina",
                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/rios.map",{layers: "hidro", format:"image/png", transparent: "TRUE"},
                {isBaseLayer:false, visibility:true,opacity:0.4});

                mapa.addLayer(layer5);

                layer6 = new OpenLayers.Layer.WMS("Rutas Argentina",
                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/rutas.map",{layers: "rutas", format:"image/png", transparent: "TRUE"},
                {isBaseLayer:false, visibility:true, opacity: 0.3});

                mapa.addLayer(layer6);*/

                /*layer7 = new OpenLayers.Layer.WMS("Estado Puentes",
                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/estadopuente.map",{layers: "puentesbuenos,puentesmalos,puentesregulares", format:"image/png", transparent: "TRUE"},
                {isBaseLayer:false, visibility:false, opacity: 0.8});

                mapa.addLayer(layer7);*/
                //captura el evento click para levantar el popup de la capa puentes
                //mapa.events.register("click", mapa, findLayerClick);
                //captura el evento click para devolver las coordenadas del mouse
                //mapa.events.register("click", mapa, mouseSelectHandler);
                /*  var jplOverview = layer2.clone();
                var controlOptions = {
                    maximized: true,
                    mapOptions: OpenLayers.Util.extend(mapaopciones, {
                        maxResolution: 'auto',
                       //maxExtent: new OpenLayers.Bounds(-80.0000, -60.2000, -45.0000, -19.4000),
                        center: new OpenLayers.LonLat(-61.004660194176,-30.877475728159),
                        zoom: 2
                    }),
                    layers: [jplOverview]
                }
                var overview2 = new OpenLayers.Control.OverviewMap(controlOptions);
                mapa.addControl(overview2);*/

                // mapa.setCenter(new OpenLayers.LonLat(-61.004660194176,-30.877475728159),2);

                if (!mapa.getCenter())
                //mapa.zoomToMaxExtent();lon=-61.004660194176,lat=-30.877475728159
                //mapa.zoomTo(2);
                    mapa.setCenter(new OpenLayers.LonLat(-61.004660194176,-30.877475728159),3);

            }

            function altaObra() {

                mapa.events.register("click", mapa, mouseCoordSelectHandler);
            }
            function mouseCoordSelectHandler(e) {
                var position = this.events.getMousePosition(e);
                var lonlat = mapa.getLonLatFromPixel(position);
                alert(lonlat);
                mapa.events.unregister("click", mapa, mouseCoordSelectHandler);
            }

            //************************************//
            //*********Solapa Obras de Arte*******//
            //************************************//

            function limpiar_capas(){
                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);
                
                if (mapa.getLayerIndex(layer_estados) != -1)
                    mapa.removeLayer(layer_estados);
                
                if (mapa.getLayerIndex(layer_tipologias) != -1)
                    mapa.removeLayer(layer_tipologias);
                
                if (mapa.getLayerIndex(layer_ubicacion) != -1)
                    mapa.removeLayer(layer_ubicacion);
                
                if (mapa.getLayerIndex(layer_zonas) != -1)
                    mapa.removeLayer(layer_zonas);
                
                if (mapa.getLayerIndex(layer_rutas) != -1)
                    mapa.removeLayer(layer_rutas);
                
                if (mapa.getLayerIndex(layer_obstaculos) != -1)
                    mapa.removeLayer(layer_obstaculos);

                if (mapa.getLayerIndex(layer_materiales) != -1)
                    mapa.removeLayer(layer_materiales);
                

                

            }

            //http://djangotips.blogspot.com/2008/12/proxy-cgi-en-python.html
            function filtro_tipos_obras(_this){
                var tipo_obra = _this.value;
                var condicion = '';

                $('#ObraNiveleId').attr("value", "");
                $('#ObraProvinciaId').attr("value", "");
                $("#departamento").html("");
                $("#departamento").hide();
                $("#localidad").html("");
                $("#localidad").hide();
                $('#ZonaZonasTipoId').attr("value", "");
                $("#zonas").html("");
                $("#zonas").hide();
                $('#RutaRutasTipoId').attr("value", "");
                $('#RutaTipologiasVialeId').attr("value", "");
                $("#rutas").html("");
                $("#rutas").hide();
                $('#ObstaculoObstaculosTipoId').attr("value", "");
                $("#obstaculos").html("");
                $("#obstaculos").hide();
                $('#MaterialesTipoTipo').attr("value", "");
                $("#principales").hide();
                $("#secundarios").hide();

                if (tipo_obra != ''){

                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    $("#tipologias").html("");
                    $("#tipologias").hide();
                    $("#cargando_tipologias").show();
                    $.ajax({
                        url: "<?php echo SITE_URL; ?>/admin/obras/view_tipologias_mapa/"+tipo_obra,
                        cache: false,
                        success: function(html){
                            $("#tipologias").html(html);
                            $("#tipologias").show();
                            $("#cargando_tipologias").hide();

                            limpiar_capas();     
                    
                            layer_tipos_obras = new OpenLayers.Layer.WMS("Tipos de Obras",
                            "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_tipos.map&condicion="+condicion+"&",{layers:"obras_tipos", format:"image/png", transparent: "TRUE"},
                            {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});
                    
                            mapa.addLayer(layer_tipos_obras);

                        }
                    });                                 
                }else{
                    limpiar_capas();
                }
            }

            function filtro_estados (){
                var estado = $('#ObraNiveleId').attr("value");
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);


                if (mapa.getLayerIndex(layer_estados) != -1)
                    mapa.removeLayer(layer_estados);

                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? " AND 1=1" : " AND obras_tipo_id = "+tipo_obra;

                    layer_estados = new OpenLayers.Layer.WMS("Estados",
                    "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_estados.map&condicion="+condicion+"&",{layers: estado, format:"image/png", transparent: "TRUE"},
                    {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                    mapa.addLayer(layer_estados);
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }

            function filtro_tipologias(){
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);


                if (mapa.getLayerIndex(layer_tipologias) != -1)
                    mapa.removeLayer(layer_tipologias);


                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    if (($('#ObraTiposEstructuraleId').attr("value") != undefined) && ($('#ObraTiposEstructuraleId').attr("value") != '')){
                        condicion += (condicion == '') ? "tipos_estructurale_id = "+$('#ObraTiposEstructuraleId').attr("value") : " AND tipos_estructurale_id = "+$('#ObraTiposEstructuraleId').attr("value");
                    }

                    if (($('#ObraClasesTransitoId').attr("value") != undefined) && ($('#ObraClasesTransitoId').attr("value") != '')){
                        condicion += (condicion == '') ? "clases_transito_id = "+$('#ObraClasesTransitoId').attr("value") : " AND clases_transito_id = "+$('#ObraClasesTransitoId').attr("value");
                    }

                    if (($('#ObraClasePosicion').attr("value") != undefined) && ($('#ObraClasePosicion').attr("value") != '')){
                        condicion += (condicion == '') ? "clase_posicion like '"+$('#ObraClasePosicion').attr("value")+"'" : " AND clase_posicion like '"+$('#ObraClasePosicion').attr("value")+"'";
                    }

                    layer_tipologias = new OpenLayers.Layer.WMS("Tipologías",
                    "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_tipologias.map&condicion="+condicion+"&",{layers:"tipologias", format:"image/png", transparent: "TRUE"},
                    {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                    mapa.addLayer(layer_tipologias);
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }


            function filtro_provincias(_this){
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);


                if (mapa.getLayerIndex(layer_ubicacion) != -1)
                    mapa.removeLayer(layer_ubicacion);

                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    var provincia_id = _this.value;
                    $("#departamento").html("");
                    $("#departamento").hide();
                    $("#cargando_departamentos").show();
                    $("#localidad").hide();

                    if ((provincia_id != undefined) && (provincia_id != '')){
                        
                        condicion += (condicion == '') ? "provincia_id = " + provincia_id : " AND provincia_id = " + provincia_id;

                        $.ajax({
                            url: "<?php echo SITE_URL; ?>/admin/obras/view_departamentos_mapa/"+provincia_id,
                            cache: false,
                            success: function(html){
                                $("#departamento").html(html);
                                $("#departamento").show();
                                $("#cargando_departamentos").hide();
                                $("#ObraDepartamentoId").focus();

                                layer_ubicacion = new OpenLayers.Layer.WMS("Ubicación",
                                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_ubicacion.map&condicion="+condicion+"&",{layers:"ubicacion", format:"image/png", transparent: "TRUE"},
                                {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                                mapa.addLayer(layer_ubicacion);
                            }
                        });
  
                    }else{
                        $("#cargando_departamentos").css("display", "none");
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }


            function filtro_departamentos(_this){
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);


                if (mapa.getLayerIndex(layer_ubicacion) != -1)
                    mapa.removeLayer(layer_ubicacion);

                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    var provincia_id = $('#ObraProvinciaId').attr("value");

                    if ((provincia_id != undefined) && (provincia_id != '')){

                        condicion += (condicion == '') ? "provincia_id = " + provincia_id : " AND provincia_id = " + provincia_id;

                        var departamento_id = _this.value;
                        $("#localidad").html("");
                        $("#localidad").hide();
                        $("#cargando_localidades").show();

                        if ((departamento_id != undefined) && (departamento_id != '')){

                            condicion += (condicion == '') ? "departamento_id = " + departamento_id : " AND departamento_id = " + departamento_id;

                            $.ajax({
                                url: "<?php echo SITE_URL; ?>/admin/obras/view_localidades_mapa/"+departamento_id,
                                cache: false,
                                success: function(html){
                                    $("#localidad").html(html);
                                    $("#localidad").show();
                                    $("#cargando_localidades").hide();
                                    $("#ObraLocalidadeId").focus();

                                    layer_ubicacion = new OpenLayers.Layer.WMS("Ubicación",
                                    "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_ubicacion.map&condicion="+condicion+"&",{layers:"ubicacion", format:"image/png", transparent: "TRUE"},
                                    {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                                    mapa.addLayer(layer_ubicacion);
                                }
                            });
                        }else{
                            $("#cargando_localidades").css("display", "none");
                        }
                    }else{
                        alert('Seleccione una Provincia.');
                        return false;
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }
            
            
            
            function filtro_localidades(_this){
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);


                if (mapa.getLayerIndex(layer_ubicacion) != -1)
                    mapa.removeLayer(layer_ubicacion);

                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    var provincia_id = $('#ObraProvinciaId').attr("value");

                    if ((provincia_id != undefined) && (provincia_id != '')){

                        condicion += (condicion == '') ? "provincia_id = " + provincia_id : " AND provincia_id = " + provincia_id;

                        var departamento_id = $('#ObraDepartamentoId').attr("value");

                        if ((departamento_id != undefined) && (departamento_id != '')){

                            condicion += (condicion == '') ? "departamento_id = " + departamento_id : " AND departamento_id = " + departamento_id;

                            var localidade_id = _this.value;

                            if ((localidade_id != undefined) && (localidade_id != '')){
                                
                                condicion += (condicion == '') ? "localidade_id = " + localidade_id : " AND localidade_id = " + localidade_id;

                                layer_ubicacion = new OpenLayers.Layer.WMS("Ubicación",
                                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_ubicacion.map&condicion="+condicion+"&",{layers:"ubicacion", format:"image/png", transparent: "TRUE"},
                                {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                                mapa.addLayer(layer_ubicacion);

                            }else{
                                alert('Seleccione una Localidad.');
                                return false;
                            }
                        }else{
                            alert('Seleccione un Departamento.');
                            return false;
                        }
                    }else{
                        alert('Seleccione una Provincia.');
                        return false;
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }



            function filtro_zonas_tipo(_this){
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);


                if (mapa.getLayerIndex(layer_zonas) != -1)
                    mapa.removeLayer(layer_zonas);

                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    var zonas_tipo_id = _this.value;
                    $("#cargando_zonas").show();
                    $("#zonas").html("");
                    $("#zonas").hide();

                    if ((zonas_tipo_id != undefined) && (zonas_tipo_id != '')){

                        condicion += (condicion == '') ? "zonas_tipo_id = " + zonas_tipo_id : " AND zonas_tipo_id = " + zonas_tipo_id;

                        $.ajax({
                            url: "<?php echo SITE_URL; ?>/admin/zonas/view_zonas_mapa/"+zonas_tipo_id,
                            cache: false,
                            success: function(html){
                                $("#zonas").html(html);
                                $("#zonas").show();
                                $("#cargando_zonas").hide();

                                layer_zonas = new OpenLayers.Layer.WMS("Zonas",
                                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_zonas.map&condicion="+condicion+"&",{layers:"zonas", format:"image/png", transparent: "TRUE"},
                                {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                                mapa.addLayer(layer_zonas);
                            }
                        });
                    }else{
                        $("#cargando_zonas").css("display", "none");
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }


            function filtro_zonas(_this){
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);


                if (mapa.getLayerIndex(layer_zonas) != -1)
                    mapa.removeLayer(layer_zonas);

                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    var zonas_tipo_id = $('#ZonaZonasTipoId').attr("value");

                    if ((zonas_tipo_id != undefined) && (zonas_tipo_id != '')){

                        condicion += (condicion == '') ? "zonas_tipo_id = " + zonas_tipo_id : " AND zonas_tipo_id = " + zonas_tipo_id;

                        var zona_id = _this.value;

                        if ((zona_id != undefined) && (zona_id != '')){

                            condicion += (condicion == '') ? "zona_id = " + zona_id : " AND zona_id = " + zona_id;

                            layer_zonas = new OpenLayers.Layer.WMS("Zonas",
                            "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_zonas.map&condicion="+condicion+"&",{layers:"zonas", format:"image/png", transparent: "TRUE"},
                            {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                            mapa.addLayer(layer_zonas);
                        }else{
                            alert('Seleccione una Zona.');
                            return false;
                        }
                    }else{
                        alert('Seleccione un Tipo de Zona.');
                        return false;
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }


            function filtro_rutas_tipo(){
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);


                if (mapa.getLayerIndex(layer_rutas) != -1)
                    mapa.removeLayer(layer_rutas);

                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    var rutas_tipo_id = $('#RutaRutasTipoId').attr("value");
                    var tipologias_viale_id = $('#RutaTipologiasVialeId').attr("value");
                    
                    $("#cargando_rutas").show();
                    $("#rutas").html("");
                    $("#rutas").hide();

                    if ((rutas_tipo_id != undefined) && (rutas_tipo_id != '')){
                        condicion += (condicion == '') ? "rutas_tipo_id = " + rutas_tipo_id : " AND rutas_tipo_id = " + rutas_tipo_id;
                    }

                    if ((tipologias_viale_id != undefined) && (tipologias_viale_id != '')){
                        condicion += (condicion == '') ? "tipologias_viale_id = " + tipologias_viale_id : " AND tipologias_viale_id = " + tipologias_viale_id;
                    }

                    if (((rutas_tipo_id == undefined) || (rutas_tipo_id == '')) && ((tipologias_viale_id == undefined) || (tipologias_viale_id == ''))){
                        $("#cargando_rutas").css("display", "none");
                    }else{
                        $.ajax({
                            url: "<?php echo SITE_URL; ?>/admin/rutas/view_rutas_mapa/"+rutas_tipo_id+"/"+tipologias_viale_id,
                            cache: false,
                            success: function(html){
                                $("#rutas").html(html);
                                $("#rutas").show();
                                $("#cargando_rutas").hide();

                                layer_rutas = new OpenLayers.Layer.WMS("Rutas",
                                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_rutas.map&condicion="+condicion+"&",{layers:"rutas", format:"image/png", transparent: "TRUE"},
                                {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                                mapa.addLayer(layer_rutas);
                            }
                        });
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }


            function filtro_rutas(_this){
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);


                if (mapa.getLayerIndex(layer_rutas) != -1)
                    mapa.removeLayer(layer_rutas);

                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    var rutas_tipo_id = $('#RutaRutasTipoId').attr("value");
                    var tipologias_viale_id = $('#RutaTipologiasVialeId').attr("value");

                    if ((rutas_tipo_id != undefined) && (rutas_tipo_id != '')){
                        condicion += (condicion == '') ? "rutas_tipo_id = " + rutas_tipo_id : " AND rutas_tipo_id = " + rutas_tipo_id;
                    }

                    if ((tipologias_viale_id != undefined) && (tipologias_viale_id != '')){
                        condicion += (condicion == '') ? "tipologias_viale_id = " + tipologias_viale_id : " AND tipologias_viale_id = " + tipologias_viale_id;
                    }

                    if (((rutas_tipo_id == undefined) || (rutas_tipo_id == '')) && ((tipologias_viale_id == undefined) || (tipologias_viale_id == ''))){
                        alert('Seleccione un Tipo de Ruta o una Tipología Vial.');
                        return false;
                    }else{
                        var ruta_id = _this.value;

                        if ((ruta_id != undefined) && (ruta_id != '')){

                            condicion += (condicion == '') ? "ruta_id = " + ruta_id : " AND ruta_id = " + ruta_id;

                            layer_rutas = new OpenLayers.Layer.WMS("Rutas",
                            "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_rutas.map&condicion="+condicion+"&",{layers:"rutas", format:"image/png", transparent: "TRUE"},
                            {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                            mapa.addLayer(layer_rutas);
                        }else{
                            alert('Seleccione una Ruta.');
                            return false;
                        }
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }


            function filtro_obstaculos_tipo(_this){
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);


                if (mapa.getLayerIndex(layer_obstaculos) != -1)
                    mapa.removeLayer(layer_obstaculos);

                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    var obstaculos_tipo_id = _this.value;
                    $("#cargando_obstaculos").show();
                    $("#obstaculos").html("");
                    $("#obstaculos").hide();

                    if ((obstaculos_tipo_id != undefined) && (obstaculos_tipo_id != '')){

                        condicion += (condicion == '') ? "obstaculos_tipo_id = " + obstaculos_tipo_id : " AND obstaculos_tipo_id = " + obstaculos_tipo_id;

                        $.ajax({
                            url: "<?php echo SITE_URL; ?>/admin/obstaculos/view_obstaculos_mapa/"+obstaculos_tipo_id,
                            cache: false,
                            success: function(html){
                                $("#obstaculos").html(html);
                                $("#obstaculos").show();
                                $("#cargando_obstaculos").hide();

                                layer_obstaculos = new OpenLayers.Layer.WMS("Obstáculos",
                                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_obstaculos.map&condicion="+condicion+"&",{layers:"obstaculos", format:"image/png", transparent: "TRUE"},
                                {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                                mapa.addLayer(layer_obstaculos);
                            }
                        });

                    }else{
                        $("#cargando_obstaculos").css("display", "none");
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }
           

            function filtro_obstaculos(_this){
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);


                if (mapa.getLayerIndex(layer_obstaculos) != -1)
                    mapa.removeLayer(layer_obstaculos);

                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    var obstaculos_tipo_id = $('#ObstaculoObstaculosTipoId').attr("value");

                    if ((obstaculos_tipo_id != undefined) && (obstaculos_tipo_id != '')){

                        condicion += (condicion == '') ? "obstaculos_tipo_id = " + obstaculos_tipo_id : " AND obstaculos_tipo_id = " + obstaculos_tipo_id;

                        var obstaculo_id = _this.value;

                        if ((obstaculo_id != undefined) && (obstaculo_id != '')){

                            condicion += (condicion == '') ? "obstaculo_id = " + obstaculo_id : " AND obstaculo_id = " + obstaculo_id;

                            layer_obstaculos = new OpenLayers.Layer.WMS("Obstáculos",
                            "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_obstaculos.map&condicion="+condicion+"&",{layers:"obstaculos", format:"image/png", transparent: "TRUE"},
                            {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                            mapa.addLayer(layer_obstaculos);
                        }else{
                            alert('Seleccione un Obstáculo.');
                            return false;
                        }
                    }else{
                        alert('Seleccione un Tipo de Obstáculo.');
                        return false;
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }

            function view_materiales(_this){
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                
                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);

                if (mapa.getLayerIndex(layer_materiales) != -1)
                    mapa.removeLayer(layer_materiales);

                $('#MaterialesTipoMaterialeId').attr("value", "");
                $('#MaterialesTipoSecundario').attr("value", "");

                if (tipo_obra != ''){
                    var materiales_tipo_tipo = _this.value;
                    if ((materiales_tipo_tipo != undefined) && (materiales_tipo_tipo != '')){
                        if (materiales_tipo_tipo == 'Simple'){
                            $("#secundarios").hide();
                            $("#principales").show();
                        }
                        if (materiales_tipo_tipo == 'Mixto'){
                            $("#principales").show();
                            $("#secundarios").show();
                        }
                    }else{
                        $('#MaterialesTipoTipo').attr("value", "");
                        $("#principales").hide();
                        $("#secundarios").hide();
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }

            function filtro_material_primario(_this){
                var materiale_id = _this.value;
                var condicion = '';
                
                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);

                if (mapa.getLayerIndex(layer_materiales) != -1)
                    mapa.removeLayer(layer_materiales);

                var materiales_tipo_tipo = $('#MaterialesTipoTipo').attr("value");

                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    if ((materiales_tipo_tipo != undefined) && (materiales_tipo_tipo != '')){
                        condicion += (condicion == '') ? "tipo = '" + materiales_tipo_tipo + "'" : " AND tipo = '" + materiales_tipo_tipo + "'";


                        if ((materiale_id != undefined) && (materiale_id != '')){
                            condicion += (condicion == '') ? "materiale_id = " + materiale_id : " AND materiale_id = " + materiale_id;

                            if (materiales_tipo_tipo == 'Simple'){
                                layer_materiales = new OpenLayers.Layer.WMS("Materiales",
                                "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_materiales.map&condicion="+condicion+"&",{layers:"materiales", format:"image/png", transparent: "TRUE"},
                                {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                                mapa.addLayer(layer_materiales);
                            }

                            if (materiales_tipo_tipo == 'Mixto'){
                                var secundario = $('#MaterialesTipoSecundario').attr("value");
                                if ((secundario != undefined) && (secundario != '')){
                                    condicion += (condicion == '') ? "secundario = " + secundario : " AND secundario = " + secundario;

                                    layer_materiales = new OpenLayers.Layer.WMS("Materiales",
                                    "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_materiales.map&condicion="+condicion+"&",{layers:"materiales", format:"image/png", transparent: "TRUE"},
                                    {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                                    mapa.addLayer(layer_materiales);
                                }
                            }
                        }

                    }else{
                        alert('Seleccione un Tipo de Material.');
                        return false;
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }

            function filtro_material_secundario(_this){
                var secundario = _this.value;
                var condicion = '';

                if (mapa.getLayerIndex(layer_tipos_obras) != -1)
                    mapa.removeLayer(layer_tipos_obras);

                if (mapa.getLayerIndex(layer_materiales) != -1)
                    mapa.removeLayer(layer_materiales);

                var materiales_tipo_tipo = $('#MaterialesTipoTipo').attr("value");
                var tipo_obra = $('#ObraObrasTipoId').attr("value");
                if (tipo_obra != ''){
                    condicion = (tipo_obra == '0') ? "1=1" : "obras_tipo_id = "+tipo_obra;

                    if ((materiales_tipo_tipo != undefined) && (materiales_tipo_tipo != '')){
                        condicion += (condicion == '') ? "tipo = '" + materiales_tipo_tipo + "'" : " AND tipo = '" + materiales_tipo_tipo + "'";

                        if ((secundario != undefined) && (secundario != '')){
                            condicion += (condicion == '') ? "secundario = " + secundario : " AND secundario = " + secundario;

                            if (materiales_tipo_tipo == 'Mixto'){
                                var materiale_id = $('#MaterialesTipoMaterialeId').attr("value");
                                if ((materiale_id != undefined) && (materiale_id != '')){
                                    condicion += (condicion == '') ? "materiale_id = " + materiale_id : " AND materiale_id = " + materiale_id;

                                    layer_materiales = new OpenLayers.Layer.WMS("Materiales",
                                    "http://proyecto.sgoav/cgi-bin/mapserv.exe?map=/ms4w/apps/mapserv-demo/obras_materiales.map&condicion="+condicion+"&",{layers:"materiales", format:"image/png", transparent: "TRUE"},
                                    {isBaseLayer:false, visibility:true, displayInLayerSwitcher:true});

                                    mapa.addLayer(layer_materiales);
                                }
                            }
                        }
                    }else{
                        alert('Seleccione un Tipo de Material.');
                        return false;
                    }
                }else{
                    alert('Seleccione un Tipo de Obra de Arte.');
                    return false;
                }
            }

            
        </script>
    </head>
    <body>
        <div>
            <table>
                <tr>
                    <td style="width: 20%">
                        <div id="div_layerswitcher"></div>
                        <?php
                        echo $form->label('Tipos de Obra:');
                        echo $form->input('obras_tipo_id', array('label' => false, 'type' => 'select', 'id' => 'ObraObrasTipoId', 'name' => 'data[Obra][obras_tipo_id]', 'options' => $obras_tipos, 'empty' => '', 'selected' => '', 'onchange' => 'filtro_tipos_obras(this);'));
                        ?>
                        <div id="accordion">
                            <h3><a href="#">Estados</a></h3>
                            <div>
                                <?php
                                echo $form->label('Niveles de Servicio:');
                                echo $form->input('nivele_id', array('label' => false, 'type' => 'select', 'id' => 'ObraNiveleId', 'name' => 'data[Obra][nivele_id]', 'options' => $niveles, 'empty' => '', 'selected' => '', 'onchange' => 'filtro_estados()'));
                                ?>
                            </div>
                            <h3><a href="#">Tipologías</a></h3>
                            <div>

                                <div id="cargando_tipologias" style="display: none;"><img src="<?php echo $html->url('/img/ajax-loader.gif') ?>" alt="Cargando tipologías" /></div>
                                <div id="tipologias"></div>
                            </div>                      
                            <h3><a href="#">Ubicación</a></h3>
                            <div>
                                <?php
                                echo $form->label('Provincias:');
                                echo $form->input('provincia_id', array('label' => false, 'type' => 'select', 'id' => 'ObraProvinciaId', 'name' => 'data[Obra][provincia_id]', 'options' => $provincias, 'onchange' => 'filtro_provincias(this);', 'empty' => '', 'selected' => ''));
                                ?>
                                <div id="cargando_departamentos" style="display: none;"><img src="<?php echo $html->url('/img/ajax-loader.gif') ?>" alt="Cargando departamentos" /></div>
                                <div id="departamento"></div>
                                <div id="cargando_localidades" style="display: none;"><img src="<?php echo $html->url('/img/ajax-loader.gif') ?>" alt="Cargando localidades" /></div>
                                <div id="localidad"></div>
                            </div>
                            <h3><a href="#">Zonas</a></h3>
                            <div>
                                <?php
                                echo $form->label('Tipos de Zona:');
                                echo $form->input('zonas_tipo_id', array('label' => false, 'type' => 'select', 'id' => 'ZonaZonasTipoId', 'name' => 'data[Zona][zonas_tipo_id]', 'options' => $tipos_zonas, 'empty' => '', 'selected' => '', 'onchange' => 'filtro_zonas_tipo(this);'));
                                ?>
                                <div id="cargando_zonas" style="display: none;"><img src="<?php echo $html->url('/img/ajax-loader.gif') ?>" alt="Cargando zonas" /></div>
                                <div id="zonas"></div>
                            </div>
                            <h3><a href="#">Rutas</a></h3>
                            <div>
                                <?php
                                echo $form->label('Tipos de Ruta:');
                                echo $form->input('rutas_tipo_id', array('label' => false, 'type' => 'select', 'id' => 'RutaRutasTipoId', 'name' => 'data[Ruta][rutas_tipo_id]', 'options' => $tipos_rutas, 'empty' => '', 'selected' => '', 'onchange' => 'filtro_rutas_tipo();'));

                                echo $form->label('Tipologías Viales:');
                                echo $form->input('tipologias_viale_id', array('label' => false, 'type' => 'select', 'id' => 'RutaTipologiasVialeId', 'name' => 'data[Ruta][tipologias_viale_id]', 'options' => $tipologias, 'empty' => '', 'selected' => '', 'onchange' => 'filtro_rutas_tipo();'));
                                ?>
                                <div id="cargando_rutas" style="display: none;"><img src="<?php echo $html->url('/img/ajax-loader.gif') ?>" alt="Cargando rutas" /></div>
                                <div id="rutas"></div>
                            </div>
                            <h3><a href="#">Obstáculos</a></h3>
                            <div>
                                <?php
                                echo $form->label('Tipos de Obstáculo:');
                                echo $form->input('obstaculos_tipo_id', array('label' => false, 'type' => 'select', 'id' => 'ObstaculoObstaculosTipoId', 'name' => 'data[Obstaculo][obstaculos_tipo_id]', 'options' => $tipos_obstaculos, 'empty' => '', 'selected' => '', 'onchange' => 'filtro_obstaculos_tipo(this);'));
                                ?>
                                <div id="cargando_obstaculos" style="display: none;"><img src="<?php echo $html->url('/img/ajax-loader.gif') ?>" alt="Cargando obstáculos" /></div>
                                <div id="obstaculos"></div>
                            </div>
                            <h3><a href="#">Materiales</a></h3>
                            <div>
                                <?php
                                echo $form->label('Tipo:');
                                echo $form->input('materiales_tipo_tipo', array('label' => false, 'type' => 'select', 'options' => $tipos, 'name' => 'data[MaterialesTipo][tipo]', 'id' => 'MaterialesTipoTipo', 'empty' => '', 'selected' => '', 'onchange' => 'view_materiales(this);'));
                                ?>
                                <div id="cargando_materiales" style="display: none;"><img src="<?php echo $html->url('/img/ajax-loader.gif') ?>" alt="Cargando materiales" /></div>
                                <div id="principales" style="display: none;">
                                    <?php
                                    echo $form->label('Material Primario:');
                                    echo $form->input('materiale_id', array('label' => false, 'type' => 'select', 'options' => $materiales, 'name' => 'data[MaterialesTipo][materiale_id]', 'id' => 'MaterialesTipoMaterialeId', 'empty' => '', 'selected' => '', 'onchange' => 'filtro_material_primario(this);'));
                                    ?>
                                </div>
                                <div id="secundarios" style="display: none;">
                                    <?php
                                    echo $form->label('Material Secundario:');
                                    echo $form->input('secundario', array('label' => false, 'type' => 'select', 'options' => $materiales, 'name' => 'data[MaterialesTipo][secundario]', 'id' => 'MaterialesTipoSecundario', 'empty' => '', 'selected' => '', 'onchange' => 'filtro_material_secundario(this);'));
                                    ?>
                                </div>
                            </div>
                        </div>

                    </td>
                    <td style="width: 80%">
                        <div id="map"></div>
                    </td>
                </tr>
<!--                <tr><td><input id="click" type="button" value="Nueva Obra" name="click" onclick="altaObra()" /></td></tr>-->
            </table>
        </div>
    </body>
</html>




<?php
                                    /*
                                     * To change this template, choose Tools | Templates
                                     * and open the template in the editor.
                                     */
?>
